<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>SSF.OS.OSPF Validation</title>
</head>

<body bgcolor="white">

<h2>SSF.OS.OSPF Validation</h2>

<h3>Methodology</h3>

<p align="justify">
A common suite of tests is executed in distinct OSPF network
configurations and topologies.  The test output is 1) automatically
analyzed for correctness, and 2) used in regression testing following
code modifications.
</p>

<p align="justify">
SSF.OS.OSPF 0.1.14 allows one OSPF area per AS.  AS-external route
advertisements are flooded from ASBRs.  Intra-area routing tables are
computed statically from network configuration database using neither
LSA flooding nor the Hello protocol.  Although we have an alpha
version of dynamic SSF.OS.OSPF, it is not yet stable enough for
release.
</p>

<h3 align="left">Network configurations</h3>

<p align="justify">
Each test uses one of just two different network configurations.  This
helps make the tests easier to understand and remember.  Half of the
tests use a network which has one autonomous system and one OSPF area.
The configurations for these tests are equivalent to the code in <a
href="../test/share/campus1.dml"><code>campus1.dml</code></a> with a
few minor options attributes added.  The other half of the tests use a
network with multiple autonomous systems, each with one OSPF area.
For these tests, the configurations are equivalent to the code in <a
href="../test/share/internet1.dml"><code>internet1.dml</code></a>
(again with some minor options added).
</p>

<h3>Test Topology Categories</h3>

<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td><a href="../test/single-single.html">Single-AS, Single-Area Tests</a></td>
</tr>

<tr>
<td><a href="../test/multi-single.html">Multiple-AS, Single-Area Tests</a></td>
</tr>
</table>

<h3>Test Types</h3>

<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td><a href="#routertype">Router Classification</a></td>
</tr>

<tr>
<td><a href="#interfaces">Interface Identification</a></td>
</tr>

<tr>
<td><a href="#lsdb">Link State Database Content</a></td>
</tr>

<tr>
<td><a href="#fwdtable">Forwarding Table Content</a></td>
</tr>
</table>

<a name="routertype">
<h3>Router Classification</h3>

<p align="justify">
An AS is is divided into OSPF areas.  When the OSPF protocol session
is initialized, each OSPF router must determine its class according to
its location in the network.  The router classes are: Internal Router
(IR), Area Border Router (ABR), AS Boundary Router (ASBR).  Also, the
backbone (area 0) must be identified.  The correctness of router class
determination is tested.<br>
&nbsp;&nbsp;<a href="../test/routertype1/routertype1.html">Router Classification using Single-AS, Single-Area Topology</a><br>
&nbsp;&nbsp;<a href="../test/routertype2/routertype2.html">Router Classification using Multiple-AS, Single-Area Topology</a>
</p>

<a name="interfaces">
<h3>Interface Identification</h3>

<p align="justify">
OSPF establishes adjacencies between neighboring routers by exchanging
Hello packets.  Hello packets, and all other OSPF message types, are
sent out on router interfaces.  OSPF keeps data structures which
corresponding to each such interface, and this test will check the
correctness of those interface data structures.<br>
&nbsp;&nbsp;<a href="../test/interfaces1/interfaces1.html">Interface Identification using Single-AS, Single-Area Topology</a><br>
&nbsp;&nbsp;<a href="../test/interfaces2/interfaces2.html">Interface Identification using Multiple-AS, Single-Area Topology</a>
</p>

<a name="lsdb">
<h3>Link State Database Content</h3>

<p>
Analyzes the LSAs and link state databases after each update.
</p>

<p align="justify">
Note: In a full OSPF implementation there are five OSPF packet types:
Type 1 (Hello), Type 2 (Database description), Type 3 (Link state
request), Type 4 (Link state update), and Type 5 (Link state ack).
All OSPF packet types (other than the OSPF Hello packets) deal with
lists of LSAs.<br>
&nbsp;&nbsp;<a href="../test/lsdb1/lsdb1.html">Link State Database Content using Single-AS, Single-Area Topology</a><br>
&nbsp;&nbsp;<a href="../test/lsdb2/lsdb2.html">Link State Database Content using Multiple-AS, Single-Area Topology</a>
</p>

<a name="fwdtable">
<h3>Forwarding Table Content</h3>

<p align="justify">
Dump all forwarding tables computed by OSPF and validate their
correctness.<br>
&nbsp;&nbsp;<a href="../test/fwdtable1/fwdtable1.html">Forwarding Table Content using Single-AS, Single-Area Topology</a><br>
&nbsp;&nbsp;<a href="../test/fwdtable2/fwdtable2.html">Forwarding Table Content using Multiple-AS, Single-Area Topology</a>
</p>


<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>


</body>
</html>
